package refelct;

/*
1. 利用通过反射修改私有成员变量
	1.	定义PrivateTest类，有私有name属性，并且属性值为hellokitty，只提供name的getName的公有方法
	2.	创建带有main方法ReflectTest的类，利用Class类得到私有的name属性
	3.	修改私有的name属性值，并调用getName()的方法打印name属性值
    */



import java.lang.reflect.Field;

public class ReflectTest {
    public static void main(String[] args) throws  NoSuchFieldException, IllegalAccessException {
        PrivateTest pt = new PrivateTest();
        Class<PrivateTest>re= PrivateTest.class;
        Field field=re.getDeclaredField("name");
        field.setAccessible(true);
        System.out.println("修改前"+pt.getName());
       field.set(pt,"魈");
        System.out.println("修改后"+pt.getName());



    }
}
